home *** CD-ROM | disk | FTP | other *** search
- The current NURBS implementation has no trimming facilities yet.
-
- The code is not well commented.
-
- 1) Normal calculus fails for special cases of NURBS (independent
- of the NURBS modules)
- Those cases arise when for u or v, some control points
- for a fixed value of that parameter form the same point.
- Imagine a Bezier patch degenerated into a "triangle".
-
- v ^ 0,1,2 order=3
- | *
- |
- | 3* 4* 5*
- |
- | 6* 7* 8*
- |
- |
- +------------------------> u
-
- The calculus of du derivative at triple point (0,1 and 2) will fail.
- As a result, the normal vector will be 0.
- The eval2.c code has to be changed to handle the above situation.
-
- 2) Adjacent NURBS surfaces ("sharing" the same control points along
- the "joining" edge) will be sampled with the same factor.
- This prevents the formation of "cracks".
- When the control polygon of the "shared" edge is not the same,
- cracks might appear.
-
- The sampling tolerance is sometimes not respected!
- A NURBS object is broken into Bezier curves/surfaces. If one of such
- Bezier objects has a local high curvature with other portions of it
- relatively flat then the high curvature part will be sampled more dense that
- its flatter regions.
- The flat regions might be tesselated into quads having sides of length
- greater than the current sampling tolernace setting.
- I believe such behaviour is acceptable, though not along the concept of
- sampling tolerance.
-
- February 20, 1996.
-
- Bogdan.
-